Signature generation using message summaries

ABSTRACT

Systems and methods for processing a message are provided. A message may be processed to generate a message summary by removing or replacing certain words, phrases, sentences, punctuation, and the like. Message signatures based upon the message summary may be generated and stored in a signature database, which may be used to identify and/or classify spam messages. Subsequently received messages may be classified by signature and processed based on classification.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation and claims the prioritybenefit of U.S. patent application Ser. No. 13/360,971 filed Jan. 30,2012, which is a continuation and claims the priority benefit of U.S.patent application Ser. No. 11/903,413 filed Sep. 20, 2007, now U.S.Pat. No. 8,112,486, which is a continuation and claims the prioritybenefit of U.S. patent application Ser. No. 10/371,977 filed Feb. 20,2003, now U.S. Pat. No. 7,299,261. The disclosures of the aforementionedapplications are incorporated herein by reference.

This application is related to U.S. patent application Ser. No.10/371,987 filed Feb. 20, 2003. The disclosure of the aforementionedapplication is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to message classification. Morespecifically, a system and method for classifying messages to block junkemail messages (spam) are disclosed.

2. Description of Related Art

People have become increasingly dependent on email for their dailycommunication. Email is popular because it is fast, easy, and has littleincremental cost. Unfortunately, these advantages of email are alsoexploited by marketers who regularly send out large amounts ofunsolicited junk email (also referred to as “spam”). Spam messages are anuisance for email users. They clog people's email box, waste systemresources, often promote distasteful subjects, and sometimes sponsoroutright scams.

There have been efforts to block spam using spam-blocking software in acollaborative environment where users contribute to a common spamknowledge base. For privacy and efficiency reasons, the spam-blockingsoftware generally identifies spam messages by using a signaturegenerated based on the content of the message. A relativelystraightforward scheme to generate a signature is to first removeleading and trailing blank lines then compute a checksum on theremaining message body. However, spam senders (also referred to as“spammers”) have been able to get around this scheme by embeddingvariations—often as random strings—in the messages so that the messagessent are not identical and generate different signatures.

Another spam-blocking mechanism is to remove words that are not found inthe dictionary as well as leading and trailing blank lines, and thencompute the checksum on the remaining message body. However, spammershave been able to circumvent this scheme by adding random dictionarywords in the text. These superfluous words are sometimes added as whitetext on a white background, so that they are invisible to the readersbut nevertheless confusing to the spam-blocking software.

The existing spam-blocking mechanisms have their limitations. Once thespammers learn how the signatures for the messages are generated, theycan alter their message generation software to overcome the blockingmechanism. It would be desirable to have a way to identify messages thatcannot be easily overcome even if the identification scheme is known. Itwould also be useful if any antidote to the identification scheme wereexpensive to implement or would incur significant runtime costs.

SUMMARY OF THE PRESENTLY CLAIMED INVENTION

Systems and methods of the present invention provide for processinge-mail messages. A message may be processed to generate a messagesummary by removing or replacing certain words, phrases, sentences,punctuation, and the like. For example, redundant words may be removed.Message signatures based upon the message summary may be generated andstored in a signature database, which may be used to identify and/orclassify spam messages, Subsequently received messages may be classifiedusing signatures based on message summaries and processed based onclassification.

Methods of the present invention may include removing non-useful wordsfrom the message or replacing the remaining words with canonicalequivalent words. The resulting summary may then be transferred to asignature generation engine. The signature generation engine maygenerate one or more signatures based on the resulting summary. Thesignatures may be used to classify subsequently received messages, whichmay then be processed based on their classification. Some embodiments ofthe present invention further include storing the signatures in asignature database.

Systems of the present invention may include a signature database, aserver, and a mail device comprising a summarization and signaturegeneration module. The summarization and signature generation modulegenerates message summaries from a message and generates one or moremessage signatures based on the resulting summary. The messagesignatures may be stored in the signature database and used by theserver to identify and classify subsequently received messages. Theserver is further configured to process the subsequently receivedmessaged based on the classification.

An embodiment of the present invention may include computer storagemedia that include instructions for processing messages to generatemessage summaries and message signatures based on the message summary.Further embodiments may include instructions for storing the messagesummaries in a signature database.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the followingdetailed description in conjunction with the accompanying drawings,wherein like reference numerals designate like structural elements, andin which:

FIG. 1 is a block diagram illustrating a spam message classificationnetwork according to one embodiment of the present invention.

FIG. 2 is a flowchart illustrating how a message is classified,according to one embodiment of the present invention.

FIG. 3 is a flowchart illustrating how a user classifies a message asspam, according to one embodiment of the present invention.

FIG. 4 is a flowchart illustrating the summarization process accordingto one embodiment of the present invention.

DETAILED DESCRIPTION

It should be appreciated that the present invention can be implementedin numerous ways, including as a process, an apparatus, a system, or acomputer readable medium such as a computer readable storage medium or acomputer network wherein program Instructions are sent over optical orelectronic communication links. It should be noted that the order of thesteps of disclosed processes may be altered within the scope of theinvention.

A detailed description of one or more preferred embodiments of theinvention is provided below along with accompanying figures thatillustrate by way of example the principles of the invention. While theinvention is described in connection with such embodiments, it should beunderstood that the invention is not limited to any embodiment. On thecontrary, the scope of the invention is limited only by the appendedclaims and the invention encompasses numerous alternatives,modifications and equivalents. For the purpose of example, numerousspecific details are set forth in the following description in order toprovide a thorough understanding of the present invention. The presentinvention may be practiced according to the claims without some or allof these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the present invention is notunnecessarily obscured.

An improved system and method for classifying mail messages aredisclosed. In one embodiment, the message is processed to construct asummary that transforms information in the message into a condensedcanonical form. A set of signatures is generated based on the summary.In some embodiments, the distinguishing properties in the message areextracted also and used in combination with the summary to producesignatures. The signatures for junk messages are stored in a databaseand used to classify these messages.

FIG. 1 is a block diagram illustrating a spam message classificationnetwork according to one embodiment of the present invention. The systemallows users in the network to collaborate and build up a knowledge baseof known spam messages, and uses this knowledge to block spam messages.A spam message is first sent to a mail device 100. The mail device maybe a mail server, a personal computer running a mail client, or anyother appropriate device used to receive email messages. A user readsthe message and determines whether it is spam.

If the message is determined to be spam, a summarization and signaturegeneration engine 108 on the mail device summarizes the message andgenerates one or more signatures (also referred to as thumbprints) basedon the summarized message. The summarization and signature generationengine may be a separate program or part of the mail-processing programon the mail device. The signature is sent to a spam-blocking server 102,which stores the signature in a database 104. Different types ofdatabases are used in various embodiments, including commercial databaseproducts such as Oracle databases, files, or any other appropriatestorage that allow data to be stored and retrieved. In some embodiments,the database also keeps track of the number of times a signature hasbeen identified as spam by other users of the system. The database maybe located on the spam-blocking server device, on a network accessibleby server 102, or on a network accessible by the mail devices. In someembodiments, the database is cached on the mail devices and updatedperiodically.

When a mail device 106 receives a message, the mail device'ssummarization and signature generation engine 110 summarizes themessage, generates one or more signatures for the message, and sends thesignatures along with any other query information to the spam-blockingserver. The spam-blocking server looks up the signatures in thedatabase, and replies with information regarding the signatures. Theinformation in the reply helps mail device 106 determine whether themessage is spam.

Mail device 106 may be configured to use information from thespam-blocking server to determine whether the message is spam indifferent ways. For example, the number of times the message wasclassified by other users as spam may be used. If the number of flagsexceeds some preset threshold, the mail device processes the message asspam. The number and types of matching signatures and the effect of oneor more matches may also be configured. For example, the message may beconsidered spam if some of the signatures in the signature set are foundin the database or the message may be determined to be spam only if allthe signatures are found in the database.

In some embodiments, spam-blocking server 102 acts as a gateway formessages. The server includes a summarization and signature generationengine similar to the engine included in a mail device. Incomingmessages are received by the server, which performs summarization andsignature generation on the message. The server looks up the signaturein the database, and processes the message according to the result ofthe lookup.

Since spam-blocking software can easily detect identical spam messages,spammers often send out many variations on the same message to avoiddetection. They may switch the location of sentences and paragraphs,insert random words, or use different words and phrases. The keyinformation conveyed in these variations of messages, however, staysabout the same. The summarization and signature generation enginedistills the information in the messages and produces a summary.

During the summarization process, words that are not useful arediscarded. Examples of non-useful words include commonly occurring wordssuch as “a”, “an”, “the”, “to” and other selected words that are notconsidered helpful for the purpose of distinguishing the message (alsoreferred to as stop words), and sentences or passages that spammersinsert on purpose.

The remaining words and phrases are replaced with their canonicalequivalents. The canonical equivalent of a word or a phrase is anidentifier used to represent all synonyms of the word or phrase, whichmay be a word, a phrase, a value, a letter or any other appropriaterepresentation. Redundant information is then removed, and words areoptionally ranked and selected based on their importance. There are manydifferent ways of evaluating the importance of words, such as rankingwords based on their probability of occurrence in spam messages,probability of occurrence in natural language, or combinations thereof.

The resulting summary is a condensed, canonical form of a message. Thus,different messages that have the same or equivalent information have thesame summary, and can be more easily identified using such a summary.Using a summary to identify and classify messages makes it harder forspammers to alter their message generation scheme to evade detection. Itis rather unlikely that messages other than those sent by the samespammer would have the same summary. Therefore, the risk of falseclassification is reduced.

FIG. 2 is a flowchart illustrating how a message is classified,according to one embodiment of the present invention. First, a messageis received (200). The message is processed to produce a summary (202).One or more signatures are generated based on the summary (204), andthen looked up in a database (206). If the signatures are not found inthe database, then no user has classified the message as spam and thesystem can proceed to process the message as a normal message,delivering the message or displaying it when appropriate (208). If,however, the signatures are found in the database, then the same messageor a message similar to it has been classified as spam. Some appropriateaction is taken accordingly (210). In an embodiment where the processtakes place on a mail client, the action includes classifying themessage as spam and moving it to an appropriate junk folder. In anembodiment where the process takes place on a mail server, the actionincludes quarantining the message so it is recoverable by theadministrator or the user.

Sometimes, a spam message is delivered to the user's inbox because thesignature of the message summary is not found in the database. This mayhappen the first time a particular spam message is sent, when themessage is yet to be classified as spam by a sufficient number of userson the network, or when not enough variants of the message have beenidentified. The user who receives the message can then make acontribution to the database by indicating the message as spam. In oneembodiment, the mail client software includes a “junk” button in itsuser interface. The user can click on this button to indicate that amessage is junk. Without further action from the user, the softwareautomatically extracts information from the message, submits theinformation to the server, and deletes the message from the user'sinbox. In some embodiments, the mail client software also updates theuser's configurations accordingly. For instance, the software may addthe sender's address to a blacklist. The blacklist is a list ofaddresses used for blocking messages. Once an address is included in theblacklist, future messages from that address are automatically blocked.

FIG. 3 is a flowchart illustrating how a user classifies a message asspam according to one embodiment of the present invention. A spammessage is received by the user (300). The user selects the message(302), and indicates that the message is junk by clicking on a junkbutton or some other appropriate means (304). The summarization andsignature generation engine summarizes the message (306), and generatesa set of signatures based on the summary (308). The signatures, whichare used to identify the message, are submitted to the database (31Q).Thus, matching signatures can be found in the database for messages thathave the same summary. In some embodiments, the configuration of theuser's mail client software is updated based on the classification(312). For example, the sender's address is added to a blacklist forblocking future messages from the same sender. An action is performed onthe message accordingly (314). A variety of actions may be performed,including deleting the message from the user's inbox, rejecting orbouncing the message, quarantining the message, etc.

FIG. 4 is a flowchart illustrating the summarization process accordingto one embodiment of the present invention. A spell check is performedon the message (400). Incorrectly spelled words are corrected; the onesthat are not correctable are discarded. In some embodiments, exceptionsare made for items that may not be found in the dictionary forlegitimate reasons, such as URLs and email addresses.

After the spell check, extraneous information such as stop words thatare not useful for distinguishing the message are removed from themessage (402). The summarization and signature generation engine uses acollection of stop words to find words that should be removed from themessage. Sometimes, spammers include random sentences and passages suchas Shakespearean sonnets in spam messages in attempts to evadedetection. Thus, in some embodiments, the engine also includes sentencesand passages that are known to be often included by spammers, and usesthese well-known sentences and passages to remove extraneous words.Removing extraneous words from the message helps simplify the sentencestructure and reduces the number of words to be further processed. Insome embodiments, punctuations, tabs, or blank lines are also removed.Steps 400 and 402 are preprocessing steps that put the message into abetter form for further processing. Upon the completion of steps 400 and402, the message has been reduced to a list of corrected words thatexcludes certain words not useful for distinguishing the message.

The remaining words are looked up in a thesaurus or any other collectionthat organizes words into groups according to their meanings. Each groupincludes similar words and phrases, and has a word or phrase that is thecanonical equivalent of all the words and phrases in the group. The term“canonical equivalent” means the word or phrase that is selected torepresent the group of words where the word or phrase has been found. Insome embodiments, the canonical equivalent is not itself a word orphrase but is simply an identifier such as a number or letter thatidentifies the list where the word or phrase from the message is found.The remaining words in the message are then replaced with theircanonical equivalents (404). It should be noted that in differentembodiments only words may be looked up or some words may be combinedinto phrases for lookup. The remainder of this description refers towords only for the purpose of clarity. It should be noted that the sameprinciples apply to phrases and that principles apply whether acanonical word is selected in (404) or an identifier of the word groupis selected.

Sometimes, a word has multiple meanings. The canonical equivalent of theword is selected from multiple groups of words using a predefinedprocess. In some embodiments, the canonical equivalent that is mostlikely to occur in spam messages is selected. For example, the word“flies” has two canonical equivalents according to a thesaurus, “airtravel” and “insect.” Since there are many spam messages related to airtravel and relatively fewer related to insects, “fly” is more likely tobe what is intended by the spammer and is therefore chosen over“insect.” In some embodiments, all the canonical equivalents are addedto the list. Using the previous example, both “fly” and “insect” areadded to the list. In some embodiments, the meaning that occurs in thelanguage most frequently is chosen.

The canonical equivalent words (or identifiers) are then sorted (406).There are sometimes multiple instances of the same word. Duplicates areremoved to make the words unique (408). The importance of the words isevaluated (410), and some of the more important words are chosen (412).It should be noted that steps 406-412 are optional, and some or all ofthem may be omitted in different embodiments. There are many differentways to evaluate the importance of words. In some embodiments, theimportance of words is determined by their probability of occurrence inspam messages. Concepts that typically appear in spam messages areranked higher. For example, “credit”, “finance”, “sex” are popular spamideas and thus receive high ranking. In some embodiments, words areranked based on their probability of occurrence in the language. In someembodiments, a combination of techniques is used. The importance rankingof the words is kept separately in some embodiments, and used torearrange the list of words in some embodiments. This process produces asummary that includes the resulting words.

The summarization and signature generation engine takes the summary togenerate a set of signatures (414). There are many ways to generate thesignatures using the summary. In some embodiments, a transform function(such as a secure hash function or a checksum) is applied to the bytesin the summary to produce a single signature. In some embodiments, thetransform function is applied to words in the summary to produce a setof signatures including a plurality of signatures. In some embodiments,no transformation is applied to the summary and the signature is set tobe the summary.

Sometimes the summary must meet a certain minimum byte requirement togenerate the signatures.” In some embodiments, the entire summary or thewords in the summary are discarded if they have fewer than a predefinednumber of bytes. Thus, the probability of signature collision islowered.

For the purposes of example, a spam message is examined and summarizedusing the process described in FIG. 4. The original message is asfollows:

-   -   “Dear Bob,    -   I am a Nigerian widoew. I have 26 million dollars in a bank in        Nigeria that I need to transfer to an U.S. bank account. Please        send me your bank account number so I can transfer the monney,        and you may keep 1 million dollars for yourself.”

First, the spell check corrects widoew to widow, and monney to money.

After removing the non-essential words, the words that are left are:Bob, Nigerian, widow, 26, million, dollars, bank, Nigeria, need,transfer, U.S., bank, account, send, bank, account, number, transfer,money, keep, 1, million, dollars.

After replacing those words with their canonical equivalents, the newwords are: name, third-world country, widow, number, large number,money, bank, first-world country, need, financial transaction,third-world country, bank, account, send; bank, account, number,financial transaction, money, keep, number, large number, money.

The words are sorted, and the new word list is as follows: account,account, bank, bank, bank, financial transaction, financial transaction,first-world country, keep, large number, large number, money, money,money, name, need, number, number, number, send, third-world country,third-world country, widow.

The words are then made unique to form the following list: account,bank, financial transaction, first-world country, keep, large number,money, name, need, number, send, third-world country, widow.

The importance of the words is then evaluated, and the more importantwords receive greater values. The resulting list shows the rankingvalues in parentheses: account (15), bank (12), financial transaction(16), first-world country (10), keep (8), large number (13), money (20),name (4), need (9), number (12), send (11), third-world country (12),widow (15). The important words are then chosen. In some embodiments, apredefined number of words with the highest ranking may be chosen. Insome embodiments, a variable number of words that meet a certainimportance ranking may be chosen. In this embodiment, the ten words thathave the highest, importance ranking are chosen; they are: account,bank, financial transaction, first-world country, large number, money,number, send, third-world country, widow. Generally, messages that arevariations on the same theme of a widow conducting financial transactionon bank account between first-world country and third-world countryshould have similar canonical form. These words are then used togenerate one or more signatures. As noted above, instead of words, thelist may comprise a set of identifiers in, for example, numerical order,that represent the categories of words or phrases occurring most oftenin the message. Also, in some embodiments, other criteria are used toselect the list including probability of occurrence in a message of acategory of words.

Some embodiments of the system employ other summarization techniques,such as the topic specific summarization technique described in MSc inSpeech and Language Processing Dissertation: Automatic summarizing basedon sentence extraction: A statistical approach by Byron Georgantopoulosand the neural net based technique described in Sumatra: A system forAutomatic Summary Generation by D. H. Lie. In some embodiments, thesummarization and signature generation engine provides interfaces toutilize a summarization module. The summarization module, which may beprovided by a third-party, produces summaries for text inputs.

The summarization technique is sometimes combined with thedistinguishing properties identification technique described in U.S.patent application Ser. No. 10/371,987 filed Feb. 20, 2003 and entitled“Using Distinguishing Properties to Classify Messages,” the disclosureof which has been previously incorporated by reference. In oneembodiment, the summarization technique is applied to produce one ormore signatures, and distinguishing properties such as contactinformation embedded in the message are identified to produce additionalsignatures.

The generated signatures are transferred and stored in the database. Inone embodiment, the signatures are formatted and transferred usingextensible markup language (XML). In some embodiments, the signaturesare correlated and the relationships among them are also recorded in thedatabase. For example, if signatures from different messages share acertain signature combination, other messages that include the samesignature combination may be classified as spam automatically. In someembodiments, the number of-times each signature has been sent to thedatabase is updated.

Using signatures to identify a message gives the system greaterflexibility and allows it to be more expandable. For example, the mailclient software may only identify one type of distinguishing property inits first version. In later versions, new types of distinguishingproperties are added. The system can be upgraded without requiringchanges in the spam-blocking server and the database.

An improved system and method for classifying a message have beendisclosed. The message is processed to generate a summary that is acondensed, canonical form of the message. One or more signatures aregenerated based on the summary. Signatures of spam messages are storedin a database to effectively block spam messages.

Although the foregoing invention has been described in some detail forpurposes of clarity of understanding, it will be apparent that certainchanges and modifications may be practiced within the scope of theappended claims. It should be noted that there are many alternative waysof implementing both the process and apparatus of the present invention.Accordingly, the present embodiments are to be considered asillustrative and not restrictive, and the invention is not to be limitedto the details given herein, but may be modified within the scope andequivalents of the appended claims.

What is claimed is:
 1. A method for processing electronic-mail (email)messages, the method comprising: receiving a message over a networkinterface at a spam blocking device; identifying a word or phrase in themessage received at the spam blocking device that can be replaced with acanonical equivalent; creating a message summary by replacing theidentified word or phrase in the message with the canonical equivalentof the word or phrase; generating a signature for the message summarythat includes the canonical equivalent, comparing the generatedsignature to a plurality of signatures in a database of spam signatures,wherein each signature in the database of spam signatures was generatedfrom a previous message summary that includes a canonical equivalentfrom one or more previously processed messages, and isolating themessage when the signature is in the database of spam signatures,wherein the isolated message is not delivered to an email account of auser.
 2. The method of claim 1, wherein: the generated signature wasstored in the database after the user or another user identified amessage of the previously processed messages received at a userelectronic device as being spam; and the generated signature wasgenerated at the user electronic device from a canonical equivalent froman identified word or phrase in the message of the previously processedmessages.
 3. The method of claim 2, wherein a number set in the databaseis set to one, the number set corresponding to a number of times thatthe signature has been associated with spam.
 4. The method of claim 3,wherein the number in the database is increased by one corresponding tothe number of times the signature was associated with spam.
 5. Themethod of claim 2, further comprising adding a sender of the message toa blacklist.
 6. The method of claim 5, further comprising blockingadditional messages from the sender in the blacklist.
 7. The method ofclaim 1, wherein the message is moved to a junk folder when the messageis in the database of spam messages.
 8. The method of claim 1, whereinthe message is quarantined when the message is in the database of spammessages.
 9. The method of claim 8, wherein the quarantined message isrecoverable by the user or by a mail administrator.
 10. The method ofclaim 1, further comprising: executing instructions stored in memorywith a processor, whereby execution of the instructions replaces one ormore additional words or phrases in the message with a canonicalequivalent of the one or more additional words or phrases; generating asignature for each of the canonical equivalents; assigning an importanceranking value to each of the canonical equivalents; and choosing one ormore of the canonical equivalents with the highest importance rankingsto compare with the database of spam signatures.